Skip to content

Use service container to instantiate adapter#191

Merged
mikebronner merged 1 commit intogeocoder-php:masterfrom
JaZo:feature/use-service-container-for-adapter
Apr 18, 2026
Merged

Use service container to instantiate adapter#191
mikebronner merged 1 commit intogeocoder-php:masterfrom
JaZo:feature/use-service-container-for-adapter

Conversation

@JaZo
Copy link
Copy Markdown
Contributor

@JaZo JaZo commented Mar 15, 2022

This allows you to specify how the adapter should be instantiated. You could, for example, set Guzzle options or use a different adapter in tests, to mock requests.

$this->app->bind(\Http\Client\HttpClient::class, function ($app) {
    if ($app->environment('testing')) {
        return new \Swis\Http\Fixture\Client(
            new \Swis\Http\Fixture\ResponseBuilder('/path/to/fixtures')
        );
    } else {
        return \Http\Adapter\Guzzle7\Client::createWithConfig(
            [
                'timeout' => 2,
            ]
        );
    }
});

N.B. This example uses our swisnl/php-http-fixture-client when in testing environment. This package allows you to easily mock requests with static fixtures. Definitely worth a try!

This allows you to specify how the adapter should be instantiated. You could, for example, use a different adapter in tests, to mock requests.
@mikebronner mikebronner merged commit f8d1680 into geocoder-php:master Apr 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants